using Admin.NET.Core;
using SqlSugar;

namespace Admin.NET.Application.Entity.Business;

[SugarTable("WaterConsumptionRecord", "水表用量记录表/结算表")]
[Tenant("questdb")]
public class WaterConsumptionRecord : EntityTenant
{
	/// <summary>
	/// 表号/imei/序列号
	/// </summary>
	public string Sn { get; set; }

	/// <summary>
	/// 表唯一编号
	/// </summary>
	public long MeterId { get; set; }

	/// <summary>
	/// 名称
	/// </summary>
	public string Name { get; set; }

	/// <summary>
	/// 正向累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal PositiveDosage { get; set; }

	/// <summary>
	/// 反向累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal? ReverseUsage { get; set; }

	/// <summary>
	/// 总累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal TotalUsage { get; set; }

	/// <summary>
	/// 差值正向累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal PositiveDosageDifference { get; set; }

	/// <summary>
	/// 差值反向累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal? ReverseUsageDifference { get; set; }

	/// <summary>
	/// 差值总累计用量
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal TotalUsageDifference { get; set; }

	/// <summary>
	/// 结算费用（元）
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal Amount { get; set; }

	/// <summary>
	/// 电价方案
	/// </summary>
	[SugarColumn(IsNullable = true)]
	public long PriceRuleId { get; set; }

	/// <summary>
	/// 单费率单价 元/m3
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal Price { get; set; }

	/// <summary>
	/// 区域id
	/// </summary>
	public long BuildingId { get; set; }

	/// <summary>
	/// 房间id
	/// </summary>
	public long RoomId { get; set; }

	/// <summary>
	/// 采集器id
	/// </summary>
	public long? CollectorId { get; set; }

	/// <summary>
	/// CSQ
	/// </summary>
	public string? CSQ { get; set; }

	/// <summary>
	/// RSRP
	/// </summary>
	public string? RSRP { get; set; }

	/// <summary>
	/// RSRQ
	/// </summary>
	public string? RSRQ { get; set; }

	/// <summary>
	/// 上报标识
	/// </summary>
	public string? ReportingFlag { get; set; }

	/// <summary>
	/// 电池电压
	/// </summary>
	[SugarColumn(Length = 28, DecimalDigits = 10)]
	public decimal? BatteryVoltage { get; set; }
}
